define(['jquery','api','user','util','qrcode'],function($,api,user,util){
	var vm,
		appidTimer,
	   controller = {
	   init:function(id){
	   	   if(!user.checkLogin())return;
	   	   
	   	   	api.headerShow(1);
			api.headerTitle(L('html_title_user_share'));
	   	   api.footerShow(0);//底部导航
		   api.setTitle(L('html_title_user_share'));
		   this.render();
	   },
	   render:function(){
	   	   var that=this;
	   	   $('#common').html('<div id="share"></div>');
	       require(['text!pages/user/share.html','Vue'],function(tpl,Vue){
	            vm=new Vue({
	               el:'#share',
	               data:{
	               	  show:true,
	               	  imgSrc:false,
	               	  dialogShow:false,
	               	  qrshow:false,
	               	  user:user.getData(),
	               	  shareLink:''
	               },
	               methods:{
	                  showTop:function(){
	                     this.dialogShow=true;
	                  },
	                  hideTop:function(){
	                     this.dialogShow=false;
	                  }
	               },
	               template:tpl
	            });
	            
	            // 没有必要参数就不显示二维码
	            if(parseInt(vm.user.uid) && parseInt(vm.user.pid)){
	                that.createQr(vm.user.uid,vm.user.pid);
	                vm.qrshow = true;
	                // 微信分享
	                that.doShare();
	            }
		       // 获取appid
		       !user.getAppid() && that.getAppid();
	       });
	   },
	   getAppid:function(){
	   		var that=this,
	   			cb=function(){
	   				that.getAppid();
	   			};
	   		api.appid(function(rs){
	   			if(rs.retcode=='0'){
		    	    if(rs.appid){
		    	    	user.setAppid(rs.appid);
		    	    }
		    	}else if(rs.retcode=='19'){
		    	    console.log('系统appid不存在，请联系管理员！');
		    	    setTimeout(cb,2000);
		    	}
	   		});
	   },
	   createQr:function(uid,pid){
	      var str='http://'+location.host+'/#/agent/'+uid+'/'+pid,
	          ct=$('#shareQrCt');
	          
          vm.shareLink=str;
          
	      ct.qrcode({
		       render:'image',
		       size:200,
		       text:str
		  });
	      setTimeout(function(){
	           vm.imgSrc=ct.find('img').attr('src');
	      },0);
	   	},
	   	doShare:function(){
	   		var that=this,
	   		cb=function(){
	   			if(appidTimer)clearTimeout(appidTimer);
	   			that.doShare();
	   		};
	   		
	   		api.wxshare(
   	   			{wxdomain:location.host,url:location.href.split('#')[0]},
	   			function(rs){//suc
	   				if(rs.retcode==='0' && rs.data){
	   					that.initWx(rs.data);
	   				}else{
	   					appidTimer = setTimeout(cb,2000);
	   				}
	   			},
	   			function(){//err
	   				appidTimer = setTimeout(cb,2000);
	   			}
	   		);
	   		
	   	},
	   	initWx:function(data){
//	   		require(['http://res.wx.qq.com/open/js/jweixin-1.0.0'],function(wx){
		   		var shareOption = {
			        title: L('wx_share_title'), // 分享标题
			        desc: L('wx_share_desc'), // 分享描述
			        imgUrl:location.href.split('#')[0]+'static/img/shareback-top.png',
			        link: encodeURI(vm.shareLink), // 分享链接
			        success: function() {
			        },
			        cancel: function() {
			        }
			    }

			    wx.config({
			        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
			        appId: user.getAppid(), // 必填，公众号的唯一标识 'wx2d02cdf4d3af4b21'
			        timestamp: data.timestamp, // 必填，生成签名的时间戳
			        nonceStr: data.noncestr, // 必填，生成签名的随机串
			        signature: data.signature, // 必填，签名，见附录1
			        jsApiList: [
			            'onMenuShareTimeline',
			            'onMenuShareAppMessage',
			        ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
			    });
			    
			    wx.ready(function() {
			        // 分享给朋友
			        wx.onMenuShareAppMessage(shareOption);
			
			        // 分享到朋友圈
			        wx.onMenuShareTimeline(shareOption);
			    });
//	   		});
	   	},
	   onRouteChange:function(){
	       if(vm)vm.show=false;
	       if(appidTimer)clearTimeout(appidTimer);
	   }
	};
    return controller;
})